
//-------------------------
// Legislators as Lobbyists
// FIGURE A5
//-------------------------

ssc install psmatch2, replace

clear
use masterdata_taa.dta

encode state, gen(state2)
encode county, gen(county2)

// generate demographic variables 

gen senior = (pop65to74 + pop75to84 + popover85)/population
gen whiteratio = white/population
gen blackratio = black/population
gen a1 = white/population
gen a2 = black/population
gen a3 = native/population 
gen a4 = asian/population
gen a5 = pacific/population
gen a6 = otherrace/population 
gen a7 = twomorerace/population
gen ethnic = 1 - (a1^2 + a2^2 + a3^2 + a4^2 + a5^2 + a6^2 + a7^2)
gen nohs = lessthanhs/pop_over25
gen hs = highschool/pop_over25 
gen loweredu = nohs + hs
gen college = bachelor/pop_over25
gen advanced = (master + professional + doctoral)/pop_over25
gen unemployment = pop_unemployed/pop_civilian


// generate contact variables 

gen housetotal = houcontact_s + houcontact_m
gen senatetotal = sencontact_s + sencontact_m
gen housetotal_t = houcontact_s_t + houcontact_m_t
gen senatetotal_t = sencontact_s_t + sencontact_m_t

gen puredolcontact_h = housetotal - housetotal_t 
gen puredolcontact_s = senatetotal - senatetotal_t


gen house_taa_dummy = 1 if housetotal_t  > 0
replace house_taa_dummy = 0 if housetotal_t == 0
gen senate_taa_dummy = 1 if senatetotal_t  > 0
replace senate_taa_dummy = 0 if senatetotal_t == 0



// generate district unique ID

by state district, sort: gen newid = 1 if _n == 1
replace newid = sum(newid) 


replace pubunionmember_m = pubunionmember if pubunionmember_m  ==.
replace pubunionmember_m = pubunionmember_m /100

replace estnoworkers = estnoworkers/1000

macro define member_char "leadership_sen sjuris leadership_hou hjuris happrocom sapprocom sendem housedem majority_h majority_s pres_party_h pres_party_s"
macro define member_char2 "leadership_sen sjuris2 leadership_hou hjuris2 happrocom sapprocom sendem housedem majority_h majority_s pres_party_h pres_party_s"
macro define district_char1 "estnoworkers worker_pet l_manu_emp change_manuf senior whiteratio loweredu unemployment pubunionmember_m"
macro define district_char2 "worker_pet l_manu_emp change_manuf senior whiteratio loweredu unemployment pubunionmember_m"

gen indirect = (housetotal_t + senatetotal_t) - directmembercontact
replace indirect = 0 if indirect < 0


// let's do dummy 

gen directdummy = .
replace directdummy = 1 if directmembercontact > 0
replace directdummy = 0 if directmembercontact == 0

sum certified directmembercontact indirect housetotal_t senatetotal_t puredolcontact_h puredolcontact_s $member_char $district_char1  

 
* Matching 
 
eststo clear
eststo: quietly psmatch2 certified directmembercontact indirect puredolcontact_h puredolcontact_s 
eststo: quietly psmatch2 certified directmembercontact indirect puredolcontact_h puredolcontact_s $member_char $district_char2
eststo: quietly psmatch2 certified directmembercontact indirect puredolcontact_h puredolcontact_s $member_char $district_char1 
eststo: quietly psmatch2 certified directdummy indirect puredolcontact_h puredolcontact_s $member_char $district_char1 
esttab, star(** 0.05 *** 0.01) ar2

teffects psmatch (certified) (directdummy indirect puredolcontact_h puredolcontact_s $member_char $district_char1)

pstest directmembercontact directdummy indirect puredolcontact_h puredolcontact_s  $member_char $district_char1 

psgraph 
